The subject matter disclosed in the present specification relates to a server system to provide services via a network in response to a request from a terminal.
In service providing systems, for example, in the web service system, it is general practice that a user desiring a service on a terminal side accesses a service providing apparatus on a network, to thereby receive the service. When the number of users increases, it is required to enhance performance on the service providing system side.
To strengthen the system performance, an approach to enhance performance of constituent components of the system (scaleup approach) and an approach to increase the number of constituent, components of the system (scale-out approach) are available. In the scaleup approach, the system performance may be strengthened only up to the upper limit of enhancement of the system constituent components. Hence, it is required to primarily take the scale-out approach in a large-scale service providing system.
When the scale-out approach is employed for a service providing system in which the system receives a query for a service from, a terminal to provide the service to the terminal, there has been used a method in which a particular appliance called a load distributing unit is arranged in the preceding stage of a plurality of service providing apparatuses. In this method, each terminal having a request accesses the load distributing unit arranged in the preceding stage. The load distributing unit accessed by the terminal selects one appropriate service providing apparatus from the service providing apparatuses under control thereof in consideration of the load imposed on the service providing apparatuses and then sends the request of the terminal to the selected service providing apparatus. When the system performance is insufficient, it is possible to enhance the processing performance in the scale-out approach by increasing the number of service providing apparatuses under control of the load distributing unit in the system.
In the method described in U.S. Pat. No. 7,284,051, name resolution is conducted before a terminal accesses a service providing apparatus. When responding to a name resolution request from a terminal an appropriate service providing apparatus is selected as described for the operation of the load distributing unit, and then information required for the terminal to access the service providing apparatus as a distribution target is returned to the terminal.
“Dynamo: Amazon's Highly Available Key-Value Store” of Giuseppe DeCandia et al in the Proceedings of the 21st ACM Symposium on Operating Systems Principles, Stevenson, Wash., October 2007 describes a method for use in a system in which a storage service is provided for a service providing apparatus of scale-out type. According to the method, to adjust the amount of data to be handled by each service providing apparatus according to performance thereof, one or more virtual nodes is or are assigned to each service providing apparatus. By changing the assignment of virtual nodes, the amount of stored data to be handled by each service providing apparatus is adjusted.